package com.lovestudying.service;

import java.util.List;
import java.util.Map;

import com.lovestudying.entity.Account;

import com.lovestudying.util.PageInfo;

public interface AccountService {

	/**
	 * 账户注册（根据实际需求随时更改 ）
	 * 
	 * @param account_phone     账户绑定的手机号码
	 * @param account_name      账户昵称
	 * @param account_email     账户绑定的邮箱
	 * @param account_psw       密码
	 * @param account_pic       头像路径
	 * @param account_state     账户状态
	 * @param account_Integral  账户积分
	 * @return
	 * 
	 */
	Integer AccountRegister(String account_phone, String account_name, String account_email, String account_psw,
			String account_pic, Integer account_state, Integer account_Integral);
	
	
	/**
	 * 账户登录（根据实际需求随时更改 ）、根据电话号和密码登录（未做短信验证、密码加密）
	 * 
	 * @param account_phone     账户绑定的手机号码
	 * @param account_psw       密码
	 * @return
	 */
	boolean AccountLogin(String account_phone,String account_psw);
	
		
	/**
	 * 获取账户全部信息
	 * @return 返回的是PageInfo实例，可以根据泛型调用data()方法获取泛型的List，可以再根据List的get(index)方法获取单一泛型实例。根据实际service需求做选择
	 */

	PageInfo<Account> getAccount();
	/**
	 * 根据手机号查询用户信息
	 * @param phone
	 * 
	 * @return 用户对象
	 */
    Account getAccountByPhone(String phone);

	
    /**
	 * @param Set_Param
	 *            Set条件Map
	 * @param Where_Param
	 * 
	 * @return 影响行数
	 */
	Integer UpdateAccount(Map<String, Object> Set_Param, Map<String, Object> Where_Param);
	/**
	 * @author 王怀玉
	 * 查看用户全部信息
	 * 
	 * @return 用户集合
	 */
	
	List<Account> getAccountInfo();
	/**
	 * @author 王怀玉
	 * 根据用户编号删除用户信息
	 * 
	 * @return 影响行数
	 */
	int deleteAccountByAccountId(String accountId);
	/**
	 * @author 王怀玉
	 * 根据用户编号修改用户状态
	 * 
	 * @return 影响行数
	 */
	int updateByAccountId(String accountId,Integer accountState);
	/**
	 * 根据用户名模糊查询用户信息
	 * @param phone
	 * @author 王怀玉
	 * @return 用户对象集合
	 */
    List<Account> getAccountByaccountName(String accountName);


	Account getAccountById(String accountId);
}
